import type { LoginResult } from '@/types/member'
import { http } from '@/utils/http'

type LoginNormalParams = {
  account: string
  password: string
}

type LoginParams = {
  code: string
  iv: string
  encryptedData: string
}

/**
 * 小程序登录(传统方式)
 * @param data 请求参数
 * @returns 请求响应的 Promise
 */
export const postLoginAPI = (data: LoginNormalParams) => {
  return http<LoginResult>({
    method: 'POST',
    url: '/login',
    data,
  })
}

/**
 * 小程序登录(企业内使用)
 * @param data 请求参数
 * @returns 请求响应的 Promise
 */
export const postLoginWxMinAPI = (data: LoginParams) => {
  return http<LoginResult>({
    method: 'POST',
    url: '/login/wxMin',
    data,
  })
}

/**
 * 小程序登录_内测版(开发练习)
 * @param phoneNumber 模拟手机号码
 * @returns 请求响应的 Promise
 */
export const postLoginWxMinSimpleAPI = (phoneNumber: string) => {
  return http<LoginResult>({
    method: 'POST',
    url: '/login/wxMin/simple',
    data: {
      phoneNumber,
    },
  })
}
